#ifndef  __KERNSEM_H__
#define  __KERNSEM_H__
#include  "semaphor.h"
#include  "queue.h"

class KernelSem {
    public:
        KernelSem(int _semaphor_val);
        /** 
         * @brief Vraca vrednost semafora
         * 
         * Ako je semaphor_val > 0 onda vraca tu vrednost, u suprotnom vraca
         * negaciju velicine reda za cekanje na semaforu
         */
        int value();
        void del( PCB* );
    private:
        friend Semaphore;
        /** 
         * @brief Dozvoljene su sve vrednosti >= 0
         */
        int    semaphor_val;
        Queue  wait4sem;
};


#endif  /*__KERNSEM_H__*/
